添付ファイル

上位フィールドから下位フィールドに行くに従ってリレーションの条件をandでつないで絞っていくだけでは、常に最上位フィールドから順に設定していかねばならず、途中のフィールドだけ、また、途中を飛ばしてドロップダウンさせることは出来ません。
そこで全てのフィールド値を、KW+改行+「−」という形にしています。KWを設定しない箇所は、スクリプトで強制的に「−」を設定します。
こうすることでKWまたは「−」のどちらかでリレーションが成立します。
FileMaker Helpの「リレーションシップの照合フィールドについて」に、下記の説明があります。

リレーションシップの照合フィールドについて
          ・
          ・
          ・
照合フィールドに複数の値を改行で区切って入力することにより、一致する可能性のある値の数を増やすことができます。
リレーションシップ条件に従って、照合フィールドの任意の1行に一致すれば、関連データにアクセスすることができます。
これを、マルチキーフィールド、または複合キーフィールドと呼ぶこともあります。

たとえば、各テーブルの1つのフィールドの内容に基づいてテーブル A のレコードとテーブル B を結合する簡単なリレーションシップがあり、テーブル A の照合フィールドには、改行で区切られた次の値が含まれるとします。
   赤
   緑
   青
この場合、対応する照合フィールドに「赤」、「緑」、または「青」のいずれか1つの値が含まれる、テーブル B のすべてのレコードが一致します。 ただし、照合フィールドに「赤 緑 青」の値が含まれるレコードは返されません。 改行があることで、各行が個別の値として処理されます。

【Patent DB】の全てのKWに、各レコード固有のKWに加えて、改行+「−」(ハイフン)を入力しておきます。
KWに、改行で区切って、全レコードに共通の値として「−」(ハイフン)を入力という形です。

「−」(ハイフン)は、目立たないように、色を背景と同じ白にしています。

これもスクリプトで自動的にメンテできるようにしています。

検索条件入力画面では、KW入力を飛ばして空欄としたところには、スクリプトで共通値:「−」(ハイフン)を入力します。

これで、検索を実行した際に、KWが入力されているフィールドはそのKWを、KW入力の無いフィールドは全レコード共通の「−」(ハイフン)を検索します。

この仕組みによって、検索条件設定時、途中のフィールドから、また、途中を飛ばしてもその下位フィールドでドロップダウンが機能します。

次は、これらドロップダウンさせるスクリプト。